package com.assignwork.vo;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springblade.core.tool.utils.DateUtil;
import org.springframework.format.annotation.DateTimeFormat;

import java.math.BigDecimal;
import java.sql.Time;
import java.time.LocalDateTime;
import java.util.List;

/**
 * @ClassName WorkArrangeShipPageVO
 * @Description 航运配工数据VO
 * @Author dujianyu
 * @Date 2023/12/21 15:58
 */
@Data
public class WorkArrangeShipPageVO {

    @JsonSerialize(using = ToStringSerializer.class)
    @ApiModelProperty(value = "配工ID")
    private Long id;

    @JsonSerialize(using = ToStringSerializer.class)
    @ApiModelProperty(value = "作业线ID")
    private Long assemblyLineId;

    @JsonSerialize(using = ToStringSerializer.class)
    @ApiModelProperty(value = "昼夜计划ID")
    private Long planId;

    @DateTimeFormat(pattern = DateUtil.PATTERN_DATETIME)
    @ApiModelProperty(value = "开始时间")
    private LocalDateTime startTime;

    @DateTimeFormat(pattern = DateUtil.PATTERN_DATETIME)
    @ApiModelProperty(value = "结束时间")
    private LocalDateTime endTime;

    @ApiModelProperty(value = "开始结束时间")
    private String startAndEndTime;

    @ApiModelProperty(value = "货名")
    private String cargoType;

    @ApiModelProperty(value = "货名")
    private String cargoTypeName;

    @ApiModelProperty(value = "散杂")
    private String packageBulk;

    @ApiModelProperty(value = "散杂")
    private String packageBulkName;

    @ApiModelProperty(value = "工人信息")
    private String workerInfo;

    @ApiModelProperty(value = "吊车信息")
    private String craneInfo;

    @ApiModelProperty(value = "叉车信息")
    private String forkliftInfo;

    @ApiModelProperty(value = "牵引车信息")
    private String tractorInfo;

    @ApiModelProperty(value = "装载机信息")
    private String loaderInfo;

    @ApiModelProperty(value = "挖掘机信息")
    private String excavatorInfo;

    @ApiModelProperty(value = "计划仓位")
    private String planCabinsName;

    @ApiModelProperty(value = "实际仓位")
    private String realCabinsName;

    @ApiModelProperty(value = "码头辅助")
    private String support;

    @ApiModelProperty(value = "门机")
    private Integer gateCrane;

    @ApiModelProperty(value = "门机")
    private String fixedMachineName;

    @ApiModelProperty(value = "船机")
    private Integer shipMachine;

    @ApiModelProperty(value = "下舱")
    private String underMachinesNames;

    @JsonSerialize(using = ToStringSerializer.class)
    @ApiModelProperty(value = "计划吨")
    private BigDecimal planTon;

    @ApiModelProperty(value = "舱信息")
    private List<WaShipCabinInfo> cabinInfos;

}
